import java.util.Random;

public class Baraja{
	private final int topCartas = 40;
	final Carta[] baraja;
	int contadorCarta;
	static private Random generador;
	boolean[] cartasRepartidas;
	int indexUltimo = topCartas - 1; 			


	public Baraja (){
		baraja = new Carta[topCartas];	
		cartasRepartidas = new boolean[topCartas];
		contadorCarta=0;
		generador = new Random();
		String palos[] = {"Oros", "Copas", "Espadas", "Palos"};
		String figura[] = {"as", "dos", "tres", "cuatro", "cinco", "seis", "siete", "sota", "caballo", "rey"};
		for (int i = 0; i < 4; i++){
			for (int j = 0; j < 10; j++){
				baraja[i * 10 + j] = new Carta(palos[i], figura[j]);
			}
		}
	}

	public void barajar(){
		
		for (int i = 0; i < topCartas; i++){
			cartasRepartidas[i] = false;
		}
	}

	public Carta dameCarta(){
		int index = 0;
		Carta aux;

		index = generador.nextInt(indexUltimo) + 1;
		aux = baraja[indexUltimo];
		baraja[indexUltimo] = baraja[index];
		baraja[index] = aux;
		indexUltimo--;

//		while (cartasRepartidas[index] == true){
//			index = generador.nextInt(topCartas);
//		}
		if (contadorCarta < topCartas){
			contadorCarta++;
		}
		if (contadorCarta > topCartas){
			System.out.println ("No tengo mas cartas... ");
		}
		System.out.println ("Contador = " + contadorCarta);
		return baraja[index];
	}
}
